﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using KPWeb.Class;
using KPWeb.Data;
using KPWeb.Function;
using KPWeb.Reports;   

namespace KPWeb.Jednostka
{
    public partial class OsobyDokumentyPlanyUrlopowe : KPPage
    {
        //private short RokPlany
        //{

        //    get
        //    {
        //        if (ViewState["RokPlany"] == null)
        //            ViewState["RokPlany"] = DateTime.Now.Year;
        //        return short.Parse(ViewState["RokPlany"].ToString());
        //    }
        //    set
        //    {
        //        ViewState["RokPlany"] = value;

        //    }
        //}

        //Wykaz osób w jednostce do zmian danych 
        static public IEnumerable<vKP_OsobyDokumenty> PobierzOsobyDokumenty(int grupaID, int jednostkaGlownaID, int firmaID, int year)
        {
            // String.Format("{0:0.00}", rekordOsobaJeden.StawkaNegocjowana);
            using (DBContainer db = new DBContainer())
            {
                return (from wiz in db.vKP_OsobyDokumenty
                        orderby   wiz.NazwiskoImie
                        where (wiz.GrupaID == grupaID && wiz.JednostkaID == jednostkaGlownaID
                        && wiz.FirmaID == firmaID && (wiz.Year==0 || wiz.Year == year))
                        select wiz).ToArray();
            }
     }


        protected void Page_Load(object sender, EventArgs e)
        {
            Error1.Visible = false;

            if (!IsPostBack)
            {

                dGrupa.Items.Clear();
                dGrupa.Items.Add(new ListItem() { Text = Stale.wybierzGrupe, Value = "0" });
                foreach (vKP_JednostkiGrupy item in Model.GetGrupyDlaFirmy(int.Parse(Current.FirmaID)))
                {
                    dGrupa.Items.Add(new ListItem()
                    {
                        Text = item.GrupaOpis ,
                        Value = item.GrupaID.ToString()
                    });
                }
                dGrupa.SelectedIndex = 0;
               
                dYear.Items.Clear();
                foreach (short item in Kalendarz.GetYearGdzieWpisanoSwieta())
                {
                    this.dYear.Items.Add(item.ToString());
                }
                dYear.SelectedValue = DateTime.Now.Year.ToString();
    

            //    hGrupaID.Value = "0";
                hJednostkaID.Value = Current.JednostkaID;
                hFirmaID.Value = Current.FirmaID;
          //      hYear.Value = dYear.SelectedValue;
            }
        }

        protected void btnPlanyUrlopoweRoboczeClick(object sender, EventArgs e)
        {


            RaportyPDF.RaportPlanUrlopowyBarCodePDF(0, int.Parse(hJednostkaID.Value), int.Parse(dGrupa.SelectedValue), int.Parse(dYear.SelectedValue));




        }



        protected void btnPrzeslijDoKadrClick(object sender, EventArgs e)
        {

        }
        protected void btnPlanyUrlopoweOryginalClick(object sender, EventArgs e)
        {



            //foreach (ListViewDataItem item in this.ListView1.Items)
            //{
         
            //}


            //this.ListView1.DataBind();


            string sTemp = "123456";// ((KPWeb.Kontrolki.RaportLinkButton)sender).CommandArgument.ToString();

            for (int i = sTemp.Length; i < Stale.countDigitsInBarCode - 2; i++)
            {
                sTemp = "0" + sTemp;
            }

            sTemp = Stale.idPU + sTemp;

//int.Parse(((Button)sender).CommandArgument.ToString())
            //string [][] parametry= new string[2][];
            //parametry[0]= new 

            RaportyPDF.RaportPlanUrlopowyBarCodePDF(int.Parse(sTemp),int.Parse( hJednostkaID.Value),int.Parse(dGrupa.SelectedValue),int.Parse(dYear.SelectedValue));
        
     


        }
      

        protected void dGrupa_SelectedIndexChanged(object sender, EventArgs e)
        {
           // hGrupaID.Value = dGrupa.SelectedItem.Value;
        //    ListView1.DataBind();
        }
      
        
        protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            //string tempKodZrodla = ((Label)e.Item.FindControl("KodZrodla")).Text;
            ////  string tempKwota=(Controlling.dostepneSrodkiDec(tempKodZrodla)).ToString();
            //List<decimal> lTemp = Controlling.dostepneSrodkiBlokadyDec(tempKodZrodla);
            //decimal dRealizacja = Controlling.sumaRealizacjiZrodlaDec(tempKodZrodla);

            //if (lTemp[0] == 0)//Stale.ControllingBrakZrodla)
            //{
            string sTemp = ((Label)e.Item.FindControl("NazwiskoImie")).Text;
          
               ((Label)e.Item.FindControl("NazwiskoImie")).Text = FunctionGlobal.UppercaseFirstWords(sTemp);
          

            //}
            //else
            //{
            //    ((Label)e.Item.FindControl("KwotaZrodlaCF")).Text = String.Format("{0:# ##0.00}", lTemp[0]);

            //    ((Label)e.Item.FindControl("DostepneSrodkiBlokadaCF")).Text = String.Format("{0:# ##0.00}", lTemp[1]);
            //    ((Label)e.Item.FindControl("KwotaBlokadyCF")).Text = String.Format("{0:# ##0.00}", lTemp[2]);
            //    ((Label)e.Item.FindControl("KwotaRealizacjiCF")).Text = String.Format("{0:# ##0.00}", dRealizacja);
            //    ((Label)e.Item.FindControl("DostepneSrodkiRealizacjaCF")).Text = String.Format("{0:# ##0.00}", lTemp[0] - dRealizacja);

            //}

        }
        protected void btnCofnijUClick(object sender, EventArgs e)
        {
           short yTemp= short.Parse(dYear.SelectedValue);


            if (NieobecnosciUrlopy.UpdatePlanyUrlopow( int.Parse(((Button)sender).CommandArgument.ToString()), yTemp, 1, 0) != 0)
                    {
                        Error1.Visible = true;
                        return;
                    }
                 
            if (NieobecnosciUrlopy.DeletePlanyUrlopowOkresy(int.Parse(((Button)sender).CommandArgument.ToString()), yTemp)!=0)
              {
                Error1.Visible = true;
                return;
            }
            this.ListView1.DataBind();
     
        }
    }
}